{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "from torch.autograd import Variable\n",
    "import torch.nn.functional as F\n",
    "import matplotlib.pyplot as plt\n",
    "import random\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "x_values = np.linspace(-1, 1, 100)\n",
    "x_train = np.array(x_values, dtype=np.float32)\n",
    "x_train = x_train.reshape(-1, 1)\n",
    "\n",
    "y_train = x_train**2 + random.uniform(-20, 20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "class LR(nn.Module):\n",
    "    def __init__(self):\n",
    "        super(LR, self).__init__()\n",
    "        self.hidden1 = nn.Linear(1, 10)\n",
    "        self.hidden2 = nn.Linear(10, 1)\n",
    "\n",
    "    def forward(self, x):\n",
    "        x = F.relu(self.hidden1(x))\n",
    "        out = self.hidden2(x)\n",
    "        return out"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-1.        ],\n",
       "       [-0.97979796],\n",
       "       [-0.95959598],\n",
       "       [-0.93939394],\n",
       "       [-0.9191919 ],\n",
       "       [-0.89898992],\n",
       "       [-0.87878788],\n",
       "       [-0.85858583],\n",
       "       [-0.83838385],\n",
       "       [-0.81818181],\n",
       "       [-0.79797977],\n",
       "       [-0.77777779],\n",
       "       [-0.75757575],\n",
       "       [-0.73737371],\n",
       "       [-0.71717173],\n",
       "       [-0.69696969],\n",
       "       [-0.67676765],\n",
       "       [-0.65656567],\n",
       "       [-0.63636363],\n",
       "       [-0.61616164],\n",
       "       [-0.5959596 ],\n",
       "       [-0.57575756],\n",
       "       [-0.55555558],\n",
       "       [-0.53535354],\n",
       "       [-0.5151515 ],\n",
       "       [-0.49494949],\n",
       "       [-0.47474748],\n",
       "       [-0.45454547],\n",
       "       [-0.43434343],\n",
       "       [-0.41414142],\n",
       "       [-0.39393941],\n",
       "       [-0.37373737],\n",
       "       [-0.35353535],\n",
       "       [-0.33333334],\n",
       "       [-0.3131313 ],\n",
       "       [-0.29292929],\n",
       "       [-0.27272728],\n",
       "       [-0.25252524],\n",
       "       [-0.23232323],\n",
       "       [-0.21212122],\n",
       "       [-0.19191919],\n",
       "       [-0.17171717],\n",
       "       [-0.15151516],\n",
       "       [-0.13131313],\n",
       "       [-0.11111111],\n",
       "       [-0.09090909],\n",
       "       [-0.07070707],\n",
       "       [-0.05050505],\n",
       "       [-0.03030303],\n",
       "       [-0.01010101],\n",
       "       [ 0.01010101],\n",
       "       [ 0.03030303],\n",
       "       [ 0.05050505],\n",
       "       [ 0.07070707],\n",
       "       [ 0.09090909],\n",
       "       [ 0.11111111],\n",
       "       [ 0.13131313],\n",
       "       [ 0.15151516],\n",
       "       [ 0.17171717],\n",
       "       [ 0.19191919],\n",
       "       [ 0.21212122],\n",
       "       [ 0.23232323],\n",
       "       [ 0.25252524],\n",
       "       [ 0.27272728],\n",
       "       [ 0.29292929],\n",
       "       [ 0.3131313 ],\n",
       "       [ 0.33333334],\n",
       "       [ 0.35353535],\n",
       "       [ 0.37373737],\n",
       "       [ 0.39393941],\n",
       "       [ 0.41414142],\n",
       "       [ 0.43434343],\n",
       "       [ 0.45454547],\n",
       "       [ 0.47474748],\n",
       "       [ 0.49494949],\n",
       "       [ 0.5151515 ],\n",
       "       [ 0.53535354],\n",
       "       [ 0.55555558],\n",
       "       [ 0.57575756],\n",
       "       [ 0.5959596 ],\n",
       "       [ 0.61616164],\n",
       "       [ 0.63636363],\n",
       "       [ 0.65656567],\n",
       "       [ 0.67676765],\n",
       "       [ 0.69696969],\n",
       "       [ 0.71717173],\n",
       "       [ 0.73737371],\n",
       "       [ 0.75757575],\n",
       "       [ 0.77777779],\n",
       "       [ 0.79797977],\n",
       "       [ 0.81818181],\n",
       "       [ 0.83838385],\n",
       "       [ 0.85858583],\n",
       "       [ 0.87878788],\n",
       "       [ 0.89898992],\n",
       "       [ 0.9191919 ],\n",
       "       [ 0.93939394],\n",
       "       [ 0.95959598],\n",
       "       [ 0.97979796],\n",
       "       [ 1.        ]], dtype=float32)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x_train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 11.57939625],\n",
       "       [ 11.5394001 ],\n",
       "       [ 11.5002203 ],\n",
       "       [ 11.46185684],\n",
       "       [ 11.42430973],\n",
       "       [ 11.38757896],\n",
       "       [ 11.35166454],\n",
       "       [ 11.31656551],\n",
       "       [ 11.28228378],\n",
       "       [ 11.24881744],\n",
       "       [ 11.2161684 ],\n",
       "       [ 11.18433475],\n",
       "       [ 11.15331745],\n",
       "       [ 11.12311649],\n",
       "       [ 11.09373188],\n",
       "       [ 11.06516266],\n",
       "       [ 11.03741074],\n",
       "       [ 11.01047516],\n",
       "       [ 10.98435497],\n",
       "       [ 10.95905113],\n",
       "       [ 10.93456364],\n",
       "       [ 10.91089344],\n",
       "       [ 10.88803864],\n",
       "       [ 10.86599922],\n",
       "       [ 10.84477711],\n",
       "       [ 10.82437134],\n",
       "       [ 10.80478096],\n",
       "       [ 10.78600788],\n",
       "       [ 10.76805019],\n",
       "       [ 10.75090981],\n",
       "       [ 10.73458481],\n",
       "       [ 10.71907616],\n",
       "       [ 10.70438385],\n",
       "       [ 10.69050694],\n",
       "       [ 10.67744732],\n",
       "       [ 10.66520405],\n",
       "       [ 10.65377617],\n",
       "       [ 10.64316559],\n",
       "       [ 10.6333704 ],\n",
       "       [ 10.62439156],\n",
       "       [ 10.61622906],\n",
       "       [ 10.6088829 ],\n",
       "       [ 10.6023531 ],\n",
       "       [ 10.59663963],\n",
       "       [ 10.59174156],\n",
       "       [ 10.58766079],\n",
       "       [ 10.58439541],\n",
       "       [ 10.58194733],\n",
       "       [ 10.58031464],\n",
       "       [ 10.57949829],\n",
       "       [ 10.57949829],\n",
       "       [ 10.58031464],\n",
       "       [ 10.58194733],\n",
       "       [ 10.58439541],\n",
       "       [ 10.58766079],\n",
       "       [ 10.59174156],\n",
       "       [ 10.59663963],\n",
       "       [ 10.6023531 ],\n",
       "       [ 10.6088829 ],\n",
       "       [ 10.61622906],\n",
       "       [ 10.62439156],\n",
       "       [ 10.6333704 ],\n",
       "       [ 10.64316559],\n",
       "       [ 10.65377617],\n",
       "       [ 10.66520405],\n",
       "       [ 10.67744732],\n",
       "       [ 10.69050694],\n",
       "       [ 10.70438385],\n",
       "       [ 10.71907616],\n",
       "       [ 10.73458481],\n",
       "       [ 10.75090981],\n",
       "       [ 10.76805019],\n",
       "       [ 10.78600788],\n",
       "       [ 10.80478096],\n",
       "       [ 10.82437134],\n",
       "       [ 10.84477711],\n",
       "       [ 10.86599922],\n",
       "       [ 10.88803864],\n",
       "       [ 10.91089344],\n",
       "       [ 10.93456364],\n",
       "       [ 10.95905113],\n",
       "       [ 10.98435497],\n",
       "       [ 11.01047516],\n",
       "       [ 11.03741074],\n",
       "       [ 11.06516266],\n",
       "       [ 11.09373188],\n",
       "       [ 11.12311649],\n",
       "       [ 11.15331745],\n",
       "       [ 11.18433475],\n",
       "       [ 11.2161684 ],\n",
       "       [ 11.24881744],\n",
       "       [ 11.28228378],\n",
       "       [ 11.31656551],\n",
       "       [ 11.35166454],\n",
       "       [ 11.38757896],\n",
       "       [ 11.42430973],\n",
       "       [ 11.46185684],\n",
       "       [ 11.5002203 ],\n",
       "       [ 11.5394001 ],\n",
       "       [ 11.57939625]], dtype=float32)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "model = LR()\n",
    "loss_func = nn.MSELoss()\n",
    "learning_rate = 0.03\n",
    "optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate)\n",
    "\n",
    "plt.ion()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch 5, loss 0.60436726\n",
      "epoch 10, loss 0.14665790\n",
      "epoch 15, loss 0.09915893\n",
      "epoch 20, loss 0.09344053\n",
      "epoch 25, loss 0.09221393\n",
      "epoch 30, loss 0.09148445\n",
      "epoch 35, loss 0.09080999\n",
      "epoch 40, loss 0.09014330\n",
      "epoch 45, loss 0.08947914\n",
      "epoch 50, loss 0.08882819\n",
      "epoch 55, loss 0.08817607\n",
      "epoch 60, loss 0.08752172\n",
      "epoch 65, loss 0.08686447\n",
      "epoch 70, loss 0.08620670\n",
      "epoch 75, loss 0.08555263\n",
      "epoch 80, loss 0.08489282\n",
      "epoch 85, loss 0.08422637\n",
      "epoch 90, loss 0.08355286\n",
      "epoch 95, loss 0.08287468\n",
      "epoch 100, loss 0.08219732\n",
      "epoch 105, loss 0.08151294\n",
      "epoch 110, loss 0.08081923\n",
      "epoch 115, loss 0.08011577\n",
      "epoch 120, loss 0.07940206\n",
      "epoch 125, loss 0.07868284\n",
      "epoch 130, loss 0.07795458\n",
      "epoch 135, loss 0.07722377\n",
      "epoch 140, loss 0.07648193\n",
      "epoch 145, loss 0.07572874\n",
      "epoch 150, loss 0.07496823\n",
      "epoch 155, loss 0.07420094\n",
      "epoch 160, loss 0.07342270\n",
      "epoch 165, loss 0.07263335\n",
      "epoch 170, loss 0.07183292\n",
      "epoch 175, loss 0.07102878\n",
      "epoch 180, loss 0.07022364\n",
      "epoch 185, loss 0.06940825\n",
      "epoch 190, loss 0.06858262\n",
      "epoch 195, loss 0.06774722\n",
      "epoch 200, loss 0.06691451\n",
      "epoch 205, loss 0.06607299\n",
      "epoch 210, loss 0.06522291\n",
      "epoch 215, loss 0.06436443\n",
      "epoch 220, loss 0.06350215\n",
      "epoch 225, loss 0.06264260\n",
      "epoch 230, loss 0.06177629\n",
      "epoch 235, loss 0.06090386\n",
      "epoch 240, loss 0.06002564\n",
      "epoch 245, loss 0.05915232\n",
      "epoch 250, loss 0.05828245\n",
      "epoch 255, loss 0.05740855\n",
      "epoch 260, loss 0.05653112\n",
      "epoch 265, loss 0.05565062\n",
      "epoch 270, loss 0.05477716\n",
      "epoch 275, loss 0.05390754\n",
      "epoch 280, loss 0.05303673\n",
      "epoch 285, loss 0.05216524\n",
      "epoch 290, loss 0.05129353\n",
      "epoch 295, loss 0.05042609\n",
      "epoch 300, loss 0.04957049\n",
      "epoch 305, loss 0.04871645\n",
      "epoch 310, loss 0.04786434\n",
      "epoch 315, loss 0.04701481\n",
      "epoch 320, loss 0.04616837\n",
      "epoch 325, loss 0.04533102\n",
      "epoch 330, loss 0.04450568\n",
      "epoch 335, loss 0.04368474\n",
      "epoch 340, loss 0.04286862\n",
      "epoch 345, loss 0.04205784\n",
      "epoch 350, loss 0.04125287\n",
      "epoch 355, loss 0.04045418\n",
      "epoch 360, loss 0.03966961\n",
      "epoch 365, loss 0.03889586\n",
      "epoch 370, loss 0.03812919\n",
      "epoch 375, loss 0.03737007\n",
      "epoch 380, loss 0.03661876\n",
      "epoch 385, loss 0.03587564\n",
      "epoch 390, loss 0.03514110\n",
      "epoch 395, loss 0.03441561\n",
      "epoch 400, loss 0.03370555\n",
      "epoch 405, loss 0.03300762\n",
      "epoch 410, loss 0.03231892\n",
      "epoch 415, loss 0.03163965\n",
      "epoch 420, loss 0.03097012\n",
      "epoch 425, loss 0.03031044\n",
      "epoch 430, loss 0.02966095\n",
      "epoch 435, loss 0.02902181\n",
      "epoch 440, loss 0.02839314\n",
      "epoch 445, loss 0.02777509\n",
      "epoch 450, loss 0.02717016\n",
      "epoch 455, loss 0.02657880\n",
      "epoch 460, loss 0.02599792\n",
      "epoch 465, loss 0.02542768\n",
      "epoch 470, loss 0.02486809\n",
      "epoch 475, loss 0.02431923\n",
      "epoch 480, loss 0.02378124\n",
      "epoch 485, loss 0.02325407\n",
      "epoch 490, loss 0.02273778\n",
      "epoch 495, loss 0.02223240\n",
      "epoch 500, loss 0.02173784\n",
      "epoch 505, loss 0.02125417\n",
      "epoch 510, loss 0.02078142\n",
      "epoch 515, loss 0.02031945\n",
      "epoch 520, loss 0.01986825\n",
      "epoch 525, loss 0.01942934\n",
      "epoch 530, loss 0.01900070\n",
      "epoch 535, loss 0.01858226\n",
      "epoch 540, loss 0.01817399\n",
      "epoch 545, loss 0.01777577\n",
      "epoch 550, loss 0.01738752\n",
      "epoch 555, loss 0.01700916\n",
      "epoch 560, loss 0.01664055\n",
      "epoch 565, loss 0.01628159\n",
      "epoch 570, loss 0.01593218\n",
      "epoch 575, loss 0.01559213\n",
      "epoch 580, loss 0.01526142\n",
      "epoch 585, loss 0.01493984\n",
      "epoch 590, loss 0.01462732\n",
      "epoch 595, loss 0.01432365\n",
      "epoch 600, loss 0.01402869\n",
      "epoch 605, loss 0.01374234\n",
      "epoch 610, loss 0.01346441\n",
      "epoch 615, loss 0.01319477\n",
      "epoch 620, loss 0.01293324\n",
      "epoch 625, loss 0.01267965\n",
      "epoch 630, loss 0.01243389\n",
      "epoch 635, loss 0.01219575\n",
      "epoch 640, loss 0.01196508\n",
      "epoch 645, loss 0.01174174\n",
      "epoch 650, loss 0.01152423\n",
      "epoch 655, loss 0.01131345\n",
      "epoch 660, loss 0.01110937\n",
      "epoch 665, loss 0.01091185\n",
      "epoch 670, loss 0.01072071\n",
      "epoch 675, loss 0.01053584\n",
      "epoch 680, loss 0.01035703\n",
      "epoch 685, loss 0.01018416\n",
      "epoch 690, loss 0.01001706\n",
      "epoch 695, loss 0.00985561\n",
      "epoch 700, loss 0.00969961\n",
      "epoch 705, loss 0.00954901\n",
      "epoch 710, loss 0.00940354\n",
      "epoch 715, loss 0.00926313\n",
      "epoch 720, loss 0.00912761\n",
      "epoch 725, loss 0.00899687\n",
      "epoch 730, loss 0.00887076\n",
      "epoch 735, loss 0.00874915\n",
      "epoch 740, loss 0.00863186\n",
      "epoch 745, loss 0.00851882\n",
      "epoch 750, loss 0.00840988\n",
      "epoch 755, loss 0.00830490\n",
      "epoch 760, loss 0.00820377\n",
      "epoch 765, loss 0.00810636\n",
      "epoch 770, loss 0.00801255\n",
      "epoch 775, loss 0.00792224\n",
      "epoch 780, loss 0.00783531\n",
      "epoch 785, loss 0.00775165\n",
      "epoch 790, loss 0.00767111\n",
      "epoch 795, loss 0.00759364\n",
      "epoch 800, loss 0.00751910\n",
      "epoch 805, loss 0.00744741\n",
      "epoch 810, loss 0.00737848\n",
      "epoch 815, loss 0.00731220\n",
      "epoch 820, loss 0.00724849\n",
      "epoch 825, loss 0.00718725\n",
      "epoch 830, loss 0.00712840\n",
      "epoch 835, loss 0.00707185\n",
      "epoch 840, loss 0.00701754\n",
      "epoch 845, loss 0.00696535\n",
      "epoch 850, loss 0.00691523\n",
      "epoch 855, loss 0.00686709\n",
      "epoch 860, loss 0.00682087\n",
      "epoch 865, loss 0.00677652\n",
      "epoch 870, loss 0.00673389\n",
      "epoch 875, loss 0.00669299\n",
      "epoch 880, loss 0.00665374\n",
      "epoch 885, loss 0.00661608\n",
      "epoch 890, loss 0.00657993\n",
      "epoch 895, loss 0.00654524\n",
      "epoch 900, loss 0.00651197\n",
      "epoch 905, loss 0.00648005\n",
      "epoch 910, loss 0.00644944\n",
      "epoch 915, loss 0.00642006\n",
      "epoch 920, loss 0.00639188\n",
      "epoch 925, loss 0.00636486\n",
      "epoch 930, loss 0.00633895\n",
      "epoch 935, loss 0.00631410\n",
      "epoch 940, loss 0.00629027\n",
      "epoch 945, loss 0.00626743\n",
      "epoch 950, loss 0.00624553\n",
      "epoch 955, loss 0.00622452\n",
      "epoch 960, loss 0.00620438\n",
      "epoch 965, loss 0.00618507\n",
      "epoch 970, loss 0.00616659\n",
      "epoch 975, loss 0.00614818\n",
      "epoch 980, loss 0.00612856\n",
      "epoch 985, loss 0.00610976\n",
      "epoch 990, loss 0.00609169\n",
      "epoch 995, loss 0.00607435\n",
      "epoch 1000, loss 0.00605770\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8\nAACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0\nwQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEA\nSBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIX\nAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAm\neAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAA\naYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfAC\nAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIE\nLwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAg\nTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4A\nANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrg\nBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACk\nCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsA\nQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8\nAACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0\nwQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEA\nSBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIX\nAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAm\neAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAA\naYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfAC\nAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIE\nLwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAg\nTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4A\nANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrg\nBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACk\nCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsA\nQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8\nAACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0\nwQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEA\nSBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIX\nAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAm\neAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAA\naYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfAC\nAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIE\nLwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAg\nTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4A\nANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrg\nBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACk\nCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsA\nQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8\nAACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0\nwQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEA\nSBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIX\nAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAm\neAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAA\naYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfAC\nAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIE\nLwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAg\nTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4A\nANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrg\nBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACk\nCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsA\nQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8\nAACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0\nwQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEA\nSBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIX\nAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAm\neAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAA\naYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfAC\nAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIE\nLwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAg\nTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4A\nANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrg\nBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACk\nCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsA\nQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8\nAACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0\nwQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEA\nSBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIX\nAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAm\neAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAA\naYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfAC\nAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIE\nLwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAg\nTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4A\nANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrg\nBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACk\nCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsA\nQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8\nAACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0\nwQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmwCxH\nuQAAIABJREFUeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACk\nCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsA\nQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8\nAACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0\nwQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEA\nSBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIX\nAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAm\neAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAA\naYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfAC\nAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIE\nLwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAg\nTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4A\nANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrg\nBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACk\nCV4AANIELwAAaYIXAIA0wQsAQJrgBQAgTfACAJAmeAEASBO8AACkCV4AANIELwAAaYIXAIA0wQsA\n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\nJ0xfD894DhZ5akZYJ2P5OeBa7+eX/QoA/j8xtmWc7f38lYw1Me/PON3w9zOOZXnDjKDmRymtAAAE\nRklEQVSYnbb1rCQ3TO9f3jTW72ccD7Vn/IF9acYfuST56U7zt3aTJCdnrA0+L+MkF6/JCIdDMj5e\nvlHG2qDrJHloev+bTbd33nRbp2bsePTpjDPFfSxj7fHdMnasOyTj9KPX2+U+j3FOSnLCNNYtFx6L\ndzxPd9302wdkHL6tZ+x8N39ygo+k948uGOcKGadgvlRGiDwlyeunqXfKOKvYoRlHlrjRgh2WZuM8\nKMmzp58+n+Svpsd9uSQPz9g+tSf52/R+7yVjHJLkndNjSJJXZbx+Z2VsQvCojCNqnJvkDun9rQvH\nWae1E5KcNN2f52drm0a89ucngmjtiRlHVkjGY31ixpq+wzOO6fywjM0ZzklydHr/2Nxt3zxjOftE\nRrCfmo2PuI/MOArD3aafP5Tej5q77skZm8O8IcnbM9aIfzfj6BFHTbc721Hr+PT+D1t4XPtOa4/P\nxhuSD2c8L5/P+Dj/TzL+3fYkj0/vf7ZkjJMzNiPoSa6y5N/H9llmxzivz3gTmyRvyYjaL2e8Fn+Q\ncTrynuRDSY5deMi9cWrzq8/95pIZkT3bdOf5O83f+7rTm+9sHNvcxcXFxWXbXJIdPflKT86dLuct\nucymf7InN1gy1uE9+dyScU5bMP/RPfniFm/3XguuP5v+6OmyaJxze3JWT35zxXNw0ty8xy2Z50or\n7uOiy6NX3N7Rc8/5ovt7Rk+O2sJr95ie/GzFOK/ryWFrxjiiJx9YMcYPe3K/vVzGTtjN5+68nlxv\n7vqtJ89YsYye25Nv9+RWC2775ltctv+1J1fadN2T11z33J78tCePPEj/dltPTlxyH2e/e86aMU6e\nm/+K55Nl9vCevGnN8vD+nlx6C//mt3I5d3dfG0dpANhuxh7pl5+297t1kpsm+dWMveIvmHGqz68m\n+WjGZgyvyvLjX56d1o7JOFj/bTJOHzzbzKAvmP+UtHaNjO3/7pSxRuqSGWt8v5mxRu2d021+ds3j\neFxae3/GWrejMtbCfTVj7dwTsmyt09wIC+/jrvPsvfG4r5vkPyc5PuNUzslYu/2aJE9L72ctufb8\nOI9Na2/JOLD+zTJes+9kvFYvSO/rT7DR+5lp7TcytoG9Z5JrZqw5/WrGtrBPT+97snf/Lre0x/P2\n3pM8LK29PMmDs/FYz0lyWsZr/LQsPmLIuzLWHN42Y9k+MhvL9rcznqtXJXlRxs5V8+6R5I7T9a+V\ncSKDS2Zsq/6ljGXzOen94OwIOZ6XB6a1V2V8knHj6f59K+NkLM/O1tbKr1/2t9cye3aS26W1u2d8\nMnODjCN0fCfJR5L8bZKXTM/PypHW3tbuzfdzNmkAYN/Z2KThsen9cQf77gAkdloDAKA4wQsAQGmC\nFwCA0gQvAAClCV4AAEpzlAYAAEqzhhcAgNIELwAApQleAABKE7wAAJQmeAEAKE3wAgBQmuAFAKA0\nwQsAQGmCFwCA0v4fiHBz5RChAlUAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7effd54f4ef0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "epochs = 1000\n",
    "for epoch in range(epochs):\n",
    "    epoch += 1\n",
    "\n",
    "    # convert to variables\n",
    "    x = Variable(torch.from_numpy(x_train))\n",
    "    y = Variable(torch.from_numpy(y_train))\n",
    "\n",
    "    # clear gradient w.r.t. parameters \n",
    "    optimizer.zero_grad()\n",
    "\n",
    "    # forward to get output\n",
    "    prediction = model(x)\n",
    "\n",
    "    # calculate loss\n",
    "    loss = loss_func(prediction, y)\n",
    "\n",
    "    # backward to get gradient\n",
    "    loss.backward()\n",
    "\n",
    "    # update parameters\n",
    "    optimizer.step() \n",
    "\n",
    "    if epoch % 5 == 0:\n",
    "    # plot and show learning process\n",
    "        print(\"epoch %d, loss %.8f\" % (epoch, loss.data[0]))\n",
    "        plt.cla()\n",
    "        plt.scatter(x.data.numpy(), y.data.numpy())\n",
    "        plt.plot(x.data.numpy(), prediction.data.numpy(), 'r-', lw=3)\n",
    "        plt.text(0.5, 0, 'Step:%d Loss=%.4f' % (epoch, loss.data[0]), fontdict={'size': 20, 'color':  'red'})\n",
    "        plt.pause(0.1)\n",
    "\n",
    "plt.ioff()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# save the model\n",
    "save_model = False\n",
    "if save_model == True:\n",
    "    torch.save(model.state_dict(), \"nonlinear_model.pkl\")\n",
    "\n",
    "# load the model\n",
    "load_model = False\n",
    "if load_model is True:\n",
    "    model.load_state_dict(torch.load(\"nonlinear_model.pkl\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [default]",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
